一种基于触摸屏和固定键位键盘的全拼汉字滑动输入法。该输入法基于声韵母键盘、滑动加点划两种输入方式以及对输入的净化三部分来完成。通过用户在键盘上滑过或点击输入汉字的拼音,从而达到输入汉字的目的。因为滑动本身是比点击更适用于触屏的输入方式,并且根据汉字的声韵母重新设计的键盘,以及既能滑动输入、又能点击和滑动相配合输入,可以保证文字的输入更快捷、更省力、更舒适。
1.一种基于触摸屏和固定键位键盘的全拼汉字滑动输入法,其特征在于,所述的固定键位键盘采用如下的方式:键盘的26个字母的排列是根据汉语声母韵母的特性,利用声母字母围绕着韵母字母;键盘上的26个字母,除了字母“z”以外的25个字母,按照每行5个字母、一共5行的方式排成一个5*5的方阵;8个韵母的字母a,o,e,i,u,v,n,g加上“h”,共9个字母占据方阵中心一个3*3的小方阵区域,而声母字母占据总字母的5*5方阵的围绕这个3*3位置的外围键位;具体布局为:a、韵母区:其中能作为韵母的a,o,e,i,u,v,n,g以及能放在声母z、c、s后面的h共9个字母按照每行3个字母、每列3个字母的方阵排列着的;b、声母区:除z外的且只能作为声母的字母放置在韵母方阵的的外围,也就是说声母字母包围着韵母字母,这样除z外的声母和韵母的组合就构成了一个每行5个字母、每列5个字母的字母方阵,且上述的韵母方阵的上方、下方、左方、右方都是声母字母,声母的具体排列的规则是仍然按照英文的a-z排序,遇到属于韵母的字母就跳过,具体的,因为a属于韵母,所以不排在声母里,那么字母b放置在整个5*5方阵的左上角,然后第一行的字母依次是c、d、f、j,因为字母e、g、h、i都在韵母区,被跳过;然后第一列的2到4号位接着上面的字母“j“,是k、l、m;再之后,接着m的是第5列的第2到4号位,分别是p、q、r,因为n、o跳过;接着r的就是第5行,依次是s、t、w、x、y,跳过u、v;然后余下的字母z放置在这个整个的5*5字母方阵的外面的左上角;这样,所有26个字母都布局完成;每一次的滑动,以接触屏幕开始,到离开屏幕为止,滑过的每个字母都会提交给输入法的后台,输入法后台经过计算得到一个汉字的全拼作为最终的输入,每次输入的目的是一次性输入一个汉字的完整全部拼音,且滑动过程不需要长按、停留;用户只需要保证他的手指或其他输入工具滑过了他想输入的汉字的拼音的所有字母,就达到输入的目的了;能够排除在滑动过程中触到多余的、不需要的字母;具体采取的方法为:首先,整个键盘的布局,通过声母在外围,韵母在内,保证接触到一个声母字母后,手指或其他滑动工具就会自然地滑到韵母区,这样,就能避免触到多余的声母字母;韵母的布局考虑了汉字语言学的特点,排布9个韵母的位置,使得常用的韵母组合能方便而直接地滑到,减少触碰到多余的字母的可能;其次,对输入的字母序列进行优化,采用流的方式对这个序列进行净化;对这个序列,首先确定声母字母:找到这个字母序列前三个字母中的能作为声母的字母,这些字母是候选的声母字母,分别对候选的声母在字母序列中的次序以及其在滑动轨迹上的位置为其赋予一个权重值;然后针对不同的可能声母分别得到其对应的韵母,然后比较这些可能的全拼组合,取其权重值之和最小的组合作为最终的拼音输入出来;下一步得到韵母:声母因为已经得到,然后删除掉字母序列中剩余的除n、g、h外的声母字母,得到净化后的韵母序列;同时得到能和这个声母匹配的所有可能的韵母组合;然后给净化后的韵母序列的每一个字母根据其在滑动轨迹上的位置和相对位置赋予一个权重值,然后将这个有权重值的净化后的韵母序列依次和可能的韵母组合进行匹配,经过增加或删除序列中的一些字母后,能够和可能的韵母组合完全一致,这个过程会使字母序列的权重值发生变化,因为一些字母删掉、一些字母增加,而字母本身有权重值,所以最后得到这个可能的韵母组合的权重值,最后选择权重值最小的韵母组合作为最终输入结果;具体的比较方法是这样的:根据字符串匹配的编辑距离的思想,如果这个净化后的韵母序列要变成该可能的韵母组合将要有几次改变:删除一个或增加一个,其中不考虑替换一个;然后每一个被删除的字母或后增加的字母都会有一个权重值,这个值主要是根据它在滑动轨迹上的位置决定的,其计算过程如下:对于甲乙丙三个字母序列中连续的字母,如果甲乙丙构成一个钝角,那么乙这个字母就很有可能是误触的,因为在甲到丙的路径上,乙是必然会经历到的,因为乙有一部分处在从甲到丙的直线连线上,所以乙可能是用户从甲滑到丙时不得已碰到的,那么乙的权重值就为3;相反,如果构成一个锐角,那么乙这个字母就很有可能是用户要输入的字母,因为从甲到丙通常并不会滑过乙,所以,以这个字母很有可能是用户专门滑过的字母,那么乙的权重值就为0或1;也就是说,利用三个字母构成的角度做一些调整和计算后作为权重值;为了更精确,把三个字母之间的位置得到的权重值作为主要考虑对象,同时将连续4个、5个字母的位置关系得到的权重值作为辅助判断和计算对象,用来修正每个字母的权重值;通过这样的比较,我们就能得到权重值最小的韵母组合,就能和前面得到的声母相组合,得到最终的拼音;最后,为了防止没能得到用户要输入的汉字全拼,在对应的汉字候选字中,也推荐一些很有可能的其他拼音的汉字,供用户选择。
技术领域本发明涉及一种对于触摸屏类电子设备的汉字全拼滑动输入法,属于计算机技术领域。
背景技术目前,基于触摸屏电子产品的输入法,大体上是由电脑或老式手机的输入法演化而来。比较常用的是全拼输入法和手写输入法。全拼输入法的键盘有两种,一种完全和电脑一样,属于qwert布局全键盘式;另一种由原来的非触屏手机演化而来的九宫格式键盘。打字方式都是将一个汉字的全部拼音输入后,由输入法为其提取出符合的一系列汉字,再由人来选择。但是,这种输入法有一个问题就是,因为它的输入方式有电脑和老式手机的输入演化而来,而这些设备是采用按键而非触屏,所以,很难完美的移植到没有按键的触摸屏产品上。造成输入时很慢、很费力的问题,而且长期使用对手的健康危害很大。这样又有人研发了新的将触摸屏考虑进来的输入方式:滑动输入。它的技术大体是是根据触摸屏的键盘区的触点位置,确定当前输入的字符,并在触摸屏的候选区实时提供相应的候选字;根据所述当前输入的字符和之前输入的字符,按预定的拼写规则,提示后续可选的字符;实时检测所述触点在触摸屏上的滑动轨迹,当所述滑动轨迹滑过所述提示的可选字符时,重复上述步骤,直至本次滑动输入结束。但是这种输入法的问题是:确实,引入了滑动,是将触摸屏的自身特点考虑进来了。但是,输入一个汉字的拼音时,每输入一个字母就要查看键盘才能找到下一个字母(因为下一个字母总是实时显示的,只有用户按了前一个字母,后面的候选字母才会显示出来),同时,一直变化的键盘使所有字母的布局将异常庞大,让人无法记住键盘布局,所以基本无法实现盲打。总结就是:虽然打字更省力、舒适,但是速度慢。
发明内容本发明的技术解决问题:为了克服目前的触摸屏电子产品的汉字输入无法同时做到快速、省力、舒适的问题,本发明提供了一种基于触摸屏和固定键位键盘的全拼汉字滑动输入法,它不仅考虑触屏采用滑动输入保证了省力和舒适,同时采用新式的固定使得输入更加快捷。本发明的技术方案:一种适用于滑动输入的键盘,其特征在于所述的键盘的26个字母的排列是根据汉语声母韵母的特性,利用声母子母围绕着韵母字母;键盘上的26个字母,除了字母“z”以外的25个字母,按照每行5个字母、一共5行的方式排成一个5*5的方阵;8个韵母的字母a,o,e,i,u,v,n,g加上“h”,共9个字母)占据方阵中心一个3*3的小方阵区域,而声母字母占据总字母的5*5方阵的围绕这个3*3位置的外围键位;具体布局为:a、韵母区:其中能作为韵母的a,o,e,i,u,v,n,g以及能放在声母z、c、s后面的h共9个字母按照每行3个字母、每列3个字母的方阵排列着的;b、声母区:除z外的且只能作为声母的字母放置在韵母方阵的的外围,也就是说声母字母包围着韵母字母,这样除z外的声母和韵母的组合就构成了一个每行5个字母、每列5个字母的字母方阵,且上面说的韵母方阵的上方、下方、左方、右方都是声母字母,声母的具体排列的规则是仍然按照英文的a-z排序,遇到属于韵母的字母就跳过,具体的,因为a属于韵母,所以不排在声母里,那么字母b放置在整个5*5方阵的左上角,然后第一行的字母依次是c、d、f、j,因为字母e、g、h、i都在韵母区,被跳过;然后第一列的2到4号位接着上面的字母“j“,是k、l、m;再之后,接着m的是第5列的第2到4号位,分别是p、q、r,因为n、o跳过;接着r的就是第5行,依次是s、t、w、x、y,跳过u、v;然后余下的字母z放置在这个整个的5*5字母方阵的外面的左上角;这样,所有26个字母都布局好了。进一步的,键盘上的功能键,包括删除、CapsLK、逗号、句号、问号、符号切换键、中英文数字切换键、空格、回车共9个位于字母键的左侧,构成2列5行,这样功能键和字母键组合在一起,总体键盘的布局是按5行7列的形式排列的,横向每行都有7个键,纵向每列都有5个键。本发明还提出一种基于触摸屏和固定键位键盘的全拼汉字滑动输入法,所述的固定键位键盘采用权利要求1所述的键盘,每一次的滑动,以接触屏幕开始,到离开屏幕为止,滑过的每个字母都会提交给输入法的后台,输入法后台经过计算得到一个汉字的全拼作为最终的输入,每次输入的目的是一次性输入一个汉字的完整全部拼音,且滑动过程不需要长按、停留;用户只需要保证他的手指或其他输入工具滑过了他想输入的汉字的拼音的所有字母,就达到输入的目的了。优选的,该输入法能够排除在滑动过程中触到多余的、不需要的字母;具体采取的方法为:首先,整个键盘的布局就减少了这种触到多余字母的可能性,通过声母在外围,韵母在内,保证接触到一个声母字母后,手指或其他滑动工具就会自然地滑到韵母区,这样,就能避免触到多余的声母字母;韵母的布局考虑了汉字语言学的特点,合理排布9个韵母的位置,使得常用的韵母组合能方便而直接地滑到,减少触碰到多余的字母的可能;其次,对输入的字母序列进行优化,采用流的方式对这个序列进行净化;对这个序列,首先确定声母字母:找到这个字母序列前三个字母中的能作为声母的字母,这些字母是候选的声母字母,分别对候选的声母在字母序列中的次序以及其在滑动轨迹上的位置为其赋予一个权重值;然后针对不同的可能声母分别得到其对应的韵母,然后比较这些可能的全拼组合,取其权重值之和最小的组合作为最终的拼音输入出来;下一步得到韵母:声母因为已经得到,然后删除掉字母序列中剩余的除n、g、h外的声母字母,得到净化后的韵母序列;同时得到能和这个声母匹配的所有可能的韵母;然后给净化后的韵母序列的每一个字母根据其在滑动轨迹上的位置和相对位置赋予一个权重值,然后将这个有权重值的净化后的韵母序列依次和可能匹配的韵母组合进行匹配,经过增加或删除序列中的一些字母后,能够和可能的韵母组合完全一致,这个过程会使字母序列的权重值发生变化,因为一些字母删掉、一些字母增加,而字母本身有权重值,所以最后得到这个可能的韵母组合的权重值,最后选择权重值最小的韵母组合作为最终输入结果;具体的比较方法是这样的:根据字符串匹配的编辑距离的思想,如果这个净化后的韵母序列要变成该可能的韵母组合将要有几次改变:删除一个或增加一个,其中不考虑替换一个;然后每一个被删除的字母或后增加的字母都会有一个权重值,这个值主要是根据它在滑动轨迹上的位置决定的,其计算过程如下:对于甲乙丙三个字母序列中连续的字母,如果甲乙丙构成一个钝角,那么乙这个字母就很有可能是误触的,因为在甲到丙的路径上,乙是必然会经历到的,因为乙有一部分处在从甲到丙的直线连线上,所以乙可能是用户从甲滑到丙时不得已碰到的,那么乙的权重就为3,此处规定权重越小越合适;相反,如果构成一个锐角,那么乙这个字母就很有可能是用户要输入的字母,因为从甲到丙通常并不会滑过乙,所以,以这个字母很有可能是用户专门滑过的字母,那么乙的权重就为0或1;也就是说,利用三个字母构成的角度做一些调整和计算后作为权重值;为了更精确,把三个字母之间的位置得到的权重作为主要考虑对象,同时将连续4个、5个字母的位置关系得到的权重值作为辅助判断和计算对象,用来修正每个字母的权重值;通过这样的比较,我们就能得到权重最小的韵母组合,就能和前面得到的声母相组合,得到最终的拼音;最后,为了防止没能得到用户要输入的汉字全拼,在对应的汉字候选字中,也推荐一些很有可能的其他拼音的汉字,供用户选择。本发明还提出利用上述键盘的点划输入方式,用户可以将点击和滑动结合起来输入,具体为:点击输入声母,再用滑动输入韵母;所述滑动过程为:每一次的滑动,以接触屏幕开始,到离开屏幕为止,滑过的每个字母都会提交给输入法的后台,输入法后台经过计算得到一个汉字的全拼作为最终的输入,每次输入的目的是一次性输入一个汉字的完整全部拼音,且滑动过程不需要长按、停留;用户只需要保证他的手指或其他输入工具滑过了他想输入的汉字的拼音的所有字母,就达到输入的目的了。本发明的有益效果:可以在触摸屏类的电子设备上快捷、省力、舒适地输入汉字。
附图说明图1为本发明的整体图;图2为本发明的输入净化过程;图3为本发明的滑动输入过程示例;图4为本发明的滑动输入时的输入净化过程示例;图5为本发明的点划输入过程示例;图6为本发明的纯点击输入过程示例。
具体实施方式本发明提出了一种基于触摸屏和固定键位键盘的全拼汉字滑动输入法:首先,确定使用滑动输入。确定是通过采集滑过路径上经过的字母列,然后输入法智能地从给字母列中删除用户误触(包括失误误触和必然误触两种)的字母,同时补充用户可能漏掉的字母。因为滑动是最适于触摸屏的输入方法,滑动输入具有天然的优于点击输入的优势。第二,采用新式固定键位键盘布局。我们首先考察了中文输入的特殊性。中文每个字的拼音都有声母和韵母组成,并且,声母、韵母的个数都是固定的、并且数量不是很多,比如声母只有不到26个,而韵母也不到40个;并且声母和韵母的组合也是很有规律,组合数同样固定且有限,这样,我们就将新式键盘设计为5*5形式,同时额外有一个为“z”,对于这个5*5的字母排列,我们采用中间的3*3是组成韵母的8个字母:a,o,e,i,u,v,n,g,加上经常在z、c、s后出现的“h”,而外围放置只能作为声母的其他17个字母。通过这样的布局,每次输入一个汉字基本上都是从外围的一个字母开始,然后就滑到中间的3*3的字母列中寻找韵母,因为韵母的字母都在一起,所以,滑动起来滑动距离变短、误触可能变小。最后,输入净化程序。我们采用字符串匹配加上编辑距离匹配的方式将用户划过的所有字母序列与可能的拼音进行比较,得到用户心里所想输入的一个汉字的拼音。我们采用流的方式对这个序列进行净化。对这个序列,我们首先考虑的是确定声母字母。我们会找到这个字母序列前三个字母中的声母字母,这些字母是可能的声母字母选择(因为声母字母基本上不会位于序列的前3个之后),我们分别对得到的可能的声母的排序以及他们在滑动轨迹上的位置和将对位置赋予其权重。然后针对不同的可能声母分别得到其对应的韵母,然后比较这些可能的全拼组合,取其权重最佳的作为最终的拼音输入出来。所以,下一步我们就要考虑如何得到韵母。声母因为已经得到,我们下面一方面删除掉字母序列中剩余的其他声母字母(除h外),得到净化后的韵母序列;另一方面,我们也得到了能和这个声母匹配的所有可能的韵母。然后我们将净化后的韵母序列的每一个字母根据其在滑动轨迹上的位置和相对位置赋予一个权重值,然后将这个有权重的净化后的韵母序列依次和可能匹配的韵母组合进行比较,得到这个可能的韵母组合的权重值——具体的匹配方法是这样的:根据编辑距离原理,我们看如果这个净化后的韵母序列要变成该可能的韵母组合将要有几次改变:删除一个或增加一个(我们不考虑替换一个)。然后每一个被删除的字母和后增加的字母都会有一个权重值,这个值主要是根据它在滑动轨迹上的位置决定的,简单说就是如果有甲乙丙三个字母序列中连续的字母,如果甲乙丙构成一个钝角,那么乙这个字母就很有可能是误触的,因为在甲到丙的路径上,乙是必然会经历到的(因为乙有一部分处在从甲到丙的直线连线上),所以乙可能是用户从甲滑到丙时不得已碰到的,那么乙的权重就很大(我们是权重越小越合适)。相反,如果构成一个锐角,那么乙这个字母就很有可能是用户要输入的字母,因为从甲到丙通常并不会滑过乙,所以,以这个字母很有可能是用户专门滑过的字母,那么乙的权重就很小。为了更精确,我们把三个字母之间的位置得到的权重作为主要考虑对象,同时将连续4个、5个字母的位置关系得到的权重值作为辅助判断和计算对象。用来修正每个字母的权重值。通过这样的比较,我们就可以得到权重最小的韵母组合,就可以和前面得到的声母相组合,得到最终的拼音。下面是本发明的具体实施例:在图1中,本发明的界面是一个固定键盘。键盘分三部分组成:韵母区、声母区、功能键区。1、韵母区:其中可作为韵母的a,o,e,i,u,v,n,g以及可以放在声母z、c、s后面的h共9个字母,放置在5*5内的中央3*3区域,按照每行3个字母、每列3个字母的方阵排列着的。并根据汉语语言学的研究对其进行具体位置的排列;2、声母区:其他的只能作为声母的字母(除z外)放置在韵母方阵的的外围,也就是说声母字母包围着韵母字母,这样声母(除z外)和韵母的组合就构成了一个每行5个字母、每列5个字母的字母方阵,且上面说的韵母方阵的上方、下方、左方、右方都是声母字母。声母的具体排列的规则是仍然按照英文的a-z排序(遇到属于韵母的字母就跳过),具体说,因为a属于韵母,所以不排在声母里,那么字母b放置在整个5*5方阵的左上角,然后第一行的字母依次是c、d、f、j(因为字母e、g、h、i都在韵母区,被跳过)。然后第一列的2到4号位接着上面的字母“j“,是k、l、m。在之后,接着m的是第5列的第2到4号位,分别是p、q、r(n、o跳过)。接着r的就是第5行,依次是s、t、w、x、y(跳过u、v)。然后余下的字母z放置在这个整个的5*5字母方阵的外面的左上角。这样,所有26个字母都布局好了。3、功能键区:放置各种功能键,有删除、大小写转换、符号、中英文及数字键盘切换、逗号(,)、句号(。)、问号(?)、空格和回车共9个功能键,按照不打扰字母键的顺序排列在声母区和韵母区的左侧。在图2中,画的是本发明对输入字母的过滤和筛选。主要分以下四个步骤:(1)找到合适的声母;(2)排除掉额外的多余声母字母;(3)将剩下的韵母部分和所有可能的韵母组合进行比较(通过字符串模糊匹配和编辑距离);(4)提交最终输入法认为的用户输入的拼音。在图3所示实施例中,画的是输入汉字“龙”时键盘的滑动;使用时,用户的手依次滑过“l”->“o”->“n”->“g”,滑动的时候不必刻意在这四个字母上停留时间过长,只需滑过即可,而且不必担心会触到其他键如“u”、“a”等。在图3所示实施例中,画的是输入后,输入法的过滤和筛选过程。一般来说,通过这样的滑动过程,输入到输入法后台的字母列为:l,u,a,o,i,n,g。首先选择最合适的声母为l,然后删除多余的声母,但是对于这个输入,没有多余的声母;下面是对韵母的匹配,目前有韵母列为u,a,o,i,n,g,然这个韵母列与可以和“l”匹配的所有韵母做匹配。按照之前介绍的方法,首先计算各个字母的权重值。很明显可以看到,u、a、n的权重值都很大(因为基本处于钝角范围内),而g、i的权重值中等,而o的权重值较小。然后根据编辑距离确定最终的权重值。可以看到,韵母组合“ong“需要删掉u、a、i三个字母,删除数量较少,而且删除的字母权重很大,经过和所有可能的韵母组合比较,”ong“的权重是最小的,所以我们最终选择输入”long“。选择出最合适的韵母是“ong”,于是输入法最后把“long”作为用户输入的拼音提交上去。在图5所示实施例中,本发明还可以采用“点划输入”的方式进行输入。就是用点击输入声母,再用滑动输入韵母。对于输入“long”这个拼音,用户首先点击“l”这个字母,然后再依次滑过o,i,n,g四个字母,这样相较上面,确实手要抬起一次,所以有一定的不连贯性从而输入不流畅,但是可以看见这样只输入了“l”+“o,i,n,g”共5个字母,比直接滑动输入——“l,u,a,o,i,n,g”,少输入了2个字母,使得输入更快更省力。另一方面,这样的输入可以使输入更准确,因为首先点击输入声母使得声母很难输入错误;而只在韵母区中滑动也使得输入字母变少,从而判断起来更容易。在图6所示实施例中,就是按照原来的一个字母一个字母的点击输入,我们的输入法当然也是能够实现的。应用举例:任何在触摸屏电子设备上输入汉字的时候,如在三星的Android版手机上打汉字,就可以用到。随着触摸屏设备的日益广泛的应用,适用范围极为广泛。本发明未详细描述的部分属于本领域公知技术。